package org.genko.model;

import org.w3c.dom.*;
/**
 * Defines the structure and rules of a model, which is made of types
 * @author Israel Chapa
 */
public interface ModelSchema extends MemberType, MemberTypeCollection
{
	/**
	 * Creates a new document with the Xml Schema
	 * @return A new document with the Xml Schema which this model describes
	 */
	Document toXmlSchema();
	
	/**
	 * Creates a new document with the given instance of this model
	 * @param model The model to translate
	 * @return A new document with the given instance of this model
	 */
	Document toXmlDocument(MemberObject model);
}